package com.xbongbong.paas.pojo.vo;

import com.xbongbong.paas.domain.entity.ext.CoOpPermsEntityExt;
import com.xbongbong.paas.pojo.BusinessRulesPoJo;
import com.xbongbong.paas.pojo.FormTitlePoJo;
import com.xbongbong.paas.pojo.SummaryDataPoJo;
import com.xbongbong.paas.pojo.SwitchsPojo;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;

/**
 * @author: wufeng
 * @date: 2018/8/14 14:54
 * @desrcption: 表单返回数据对象
 */
@Getter
@Setter
@ToString
public class FormEntityGetVO extends BaseVO {

    private static final long serialVersionUID = -6015870214047374107L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 公司id
     */
    private String corpid;
    /**
     * 应用id
     */
    private Long appId;
    /**
     * 菜单id
     */
    private Long menuId;
    /**
     * 表单名称
     */
    private String name;
    /**
     * 表单英文名称
     */
    private String nameEn;
    /**
     * 是否流程表单，1是，0否
     */
    private Integer isProcessForm;
    /**
     * 表单验证规则
     */
    private String verifyRule;
    /**
     * 不可见字段赋值，1 保持原值，2 空值，3 始终重新计算
     */
    private Integer disableFieldAssign;
    /**
     * 前端缓存，1 启用，0 禁用
     */
    private Integer frontCache;
    /**
     * 数据标题类型，1第一个字段，2自定义标题
     */
    private Integer titleType;
    /**
     * 自定义标题，具体指定格式
     */
    private List<FormTitlePoJo> customTitle;
    /**
     * 自定义摘要，具体指定格式, 用于手机端列表页显示
     */
    private List<SummaryDataPoJo> summary;
    /**
     * 标签
     */
    private List<SummaryDataPoJo> labels;




    /**
     * 业务规则
     */
    private List<BusinessRulesPoJo> businessRules;

    /**
     * 创建者id
     */
    private String creatorId;
    /**
     * 创建时间时间戳
     */
    private Long addTime;
    /**
     * 更新时间时间戳
     */
    private Long updateTime;
    /**
     * saas标记
     */
    private Integer saasMark;

    /**
     * 业务类型
     */
    private Integer businessType;
    /**
     * 协同人权限
     */
    private CoOpPermsEntityExt coOpPerms;
    /**
     * 是否开启业绩分配
     */
    private Integer openDistribution;
    /**
     * 表单级设置的开关
     */
    private List<SwitchsPojo> switchs;

    private Integer processEnable;

    /**
     * 摘要是否可编辑 1：可以； 0：不行
     */
    private Integer summaryEditable;
    /**
     * 标题是否可编辑 1：可以； 0：不行
     */
    private Integer titleEditable;
    /**
     * 标签是否可编辑 1：可以； 0：不行
     */
    private Integer labelEditable;

    /**
     * 表单的单位列宽
     */
    private String fieldPosition;
    /**
     * 联系人项目决策信息
     */
    private Boolean decisionTree;


    /**
     *  0：字段不可见时，不参与公式计算 / 1：字段不可见时，始终参数计算
     *
     */
    private Integer assignmentRules;

    public FormEntityGetVO() {
        summaryEditable = 1;
        titleEditable = 1;
        labelEditable = 1;
        processEnable = 0;
    }

}
